package com.mmall.dao;

import com.mmall.pojo.User;
import org.apache.ibatis.annotations.Param;

public interface UserMapper {

    /**
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * @param record
     * @return
     */
    int insert(User record);

    /**
     * @param record
     * @return
     */
    int insertSelective(User record);

    /**
     * @param id
     * @return
     */
    User selectByPrimaryKey(Integer id);

    /**
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(User record);

    /**
     * @param record
     * @return
     */
    int updateByPrimaryKey(User record);

    /**根据用户名查询用户信息
     * @param username
     * @return
     */
    User selectByUsername(String username);

    /**
     * 检查用户名称是否存在
     * @param username
     * @return
     */
    int checkUsername(String username);

    /**
     * 检查email是否存在
     * @param email
     * @return
     */
    int checkEmail(String email);

    /**
     * 根据用户名查询问题信息
     * @param username
     * @return
     */
    String selectQuestion(String username);


    /**
     * 检查用户问题答案
     * @param username
     * @param question
     * @param answer
     * @return
     */
    int checkAnswer(@Param("username")String username, @Param("question")String question, @Param("answer")String answer);


    /**
     * 重新设置密码
     * @param username
     * @param password
     * @return
     */
    int updatePassword(@Param("username")String username, @Param("password")String password);

    /**
     * 根据用户Id 和email 检查email是否存在
     * @param email
     * @param id
     * @return
     */
    int checkEmailByUserId(@Param("email")String email, @Param("id")Integer id);
}